MAKE_RT
The MAKE_RT procedure creates a stand-alone IDL runtime distribution for one or more platforms. In addition to the IDL binary and resource files required to execute an IDL program in runtime mode, MAKE_RT creates platform-specific launching scripts that allow an end-user to easily launch a runtime application.
MAKE_RT creates a runtime distribution for the specified platforms by copying files from an installed IDL distribution. If the files for the specified platforms are not available in the local IDL installation, you can use the IDLDIR keyword to specify another installation location from which files should be copied.
For further discussion of how MAKE_RT creates a runtime distribution, read the following sections:
This routine is written in the IDL language. Its source code can be found in the file make_rt.pro
in the lib/utilities
subdirectory of the IDL distribution.
Example
Suppose you have a multi-platform UNIX installation, and wish to create a runtime distribution that runs on macOS and 64-bit Linux. The following command will create a runtime distribution in the /home/dave/myApp
directory, generating Mac and Linux scripts that launch IDL in Virtual Machine mode and load the file myapp.sav
:
MAKE_RT, 'myApp', '/home/dave', SAVEFILE='myapp.sav', /VM, $
/MACINT64, /LIN64
Syntax
MAKE_RT, Appname, Outdir, [, /DATAMINER] [, /DICOMEX] [, /GRIB] [, /HIRES_MAPS] [, /HIRES_SHAPEFILES] [, IDLDIR=path] [, /LIN64] [, LOGFILE=path] [, /MACARM64] [, /MACINT64] [, MANIFEST=path] [, /OVERWRITE] [, SAVEFILE=path] [, /VIDEO] [, /VM ] [, /WIN64]
Arguments
Appname
A string specifying the name of the application. An Appname directory will be created in the Outdir directory, and launch scripts (if any) will be renamed using Appname as the base.
Outdir
A string specifying the full path of the directory where the runtime distribution should be created. Outdir must exist; a directory named Appname will be created in Outdir to contain the distribution.
Keywords
IDLDIR
Set this keyword equal to the full path to the IDL installation directory from which files should be copied. If this keyword is not specified, files are copied from the directory specified by the !DIR system variable.
This keyword may be useful if you are creating a multi-platform runtime distribution, and installation directories for all of the required platforms are available on a single network.
LOGFILE
Set this keyword equal to the full path name of the file that will contain log results produced while creating the runtime distribution. If this keyword is not specified, a file named log.txt
is created in the Outdir/Appname directory.
MANIFEST
Set this keyword equal to the full path to the manifest file specifying the files to be copied into the runtime distribution. If this keyword is not specified, !DIR/bin/make_rt/manifest_rt.txt
will be used.
OVERWRITE
Set this keyword to overwrite existing files in the output directory. If this keyword is not set and the output directory is not empty, an error is generated and the existing files in the output directory are not overwritten.
If there are files in the output directory that are not part of the manifest, they will remain in the output directory even when OVERWRITE is set.
SAVEFILE
Set this keyword equal to the full path to the IDL SAVE file that contains your IDL application. The SAVE file is copied into the Outdir/Appname directory, and launch scripts are modified to invoke this file.
If this keyword is not set, no SAVE file is copied and generic launch scripts are created. In this case, running the launch script opens a file selection dialog allowing the user to select a SAVE file to restore and run.
VM
Set this keyword to modify the launch scripts so that the application specified by the SAVEFILE keyword is always invoked in Virtual Machine mode. By default, IDL will attempt to run the application in Runtime mode. See Runtime Licensing for more information.
Feature Keywords
DATAMINER
Set this keyword to include support for the IDL Dataminer. Note that the Dataminer is a licensed feature, which means that end-users must have a Dataminer license available to use Dataminer features.
DICOMEX
Set this keyword to include support for the IDLffDicomEx object. Note that the IDLffDicomEx functionality is a licensed feature, which means that end-users must have a DicomEx license available to use the IDLffDicomEx object.
Note: The IDLffDicom object is included along with IDL, and will run with a regular IDL license and in the IDL Virtual Machine. If your application uses IDLffDicom rather than IDLffDicomEx, you do not need to set this keyword.
GRIB
Set this keyword to include support for GRIB Routines.
HIRES_MAPS
Set this keyword to include the high-resolution maps from your runtime distribution. IDL’s high-resolution map files consume about 45 megabytes of disk space, and are not included in a runtime distribution by default.id.
HIRES_SHAPEFILES
Set this keyword to include the high-resolution shapefiles used with the HIRES keyword to Graphics functions.
Platform Keywords
If any of the following platform keywords are set, distributions for the specified platforms are created. If none of the platform keywords are set, a distribution that matches the platform on which IDL is currently running is created.
Note: To create distributions for a specific platform, you must have access to the installed IDL binaries for that platform.
Note: When generating a distribution for a specific platform, it is usually best to run MAKE_RT on that platform.
LIN64
Create a distribution for Linux machines running IDL in 64-bit mode.
MACARM64
Create a distribution for Arm-based Macs running IDL in 64-bit mode.
Note: 64-bit IDL on Apple silicon Macs requires OS X version 12.0 or later.
MACINT64
Create a distribution for Intel-based Macs running IDL in 64-bit mode.
Note: 64-bit IDL on Intel-based Macs requires OS X version 12.0 or later.
VIDEO
Set this keyword to include support for IDLffVideoWrite.
Note: IDLffVideoWrite is a licensed feature, which means that you must have a IDLffVideoWrite license available to use IDLffVideoWrite features.
Note: IDLffVideoWrite/Read functionality is not available in IDL Virtual Machine (VM) mode if the end user of a distributed IDL VM app does not already have a purchased IDL license with the "idl_video_write" license feature. This functionality may appear to work for the developer since an IDL VM session can access auxiliary license features from the developer's full IDL license.dat
file. However when used on a machine without such a license, the the IDLffVideoWrite/Read functionality will fail.
WIN64
Create a distribution for Windows machines running IDL in 64-bit mode.
How MAKE_RT Builds its Manifest
The list of files to be copied (known as the manifest) is constructed at the time MAKE_RT runs using the following process:
- MAKE_RT reads the contents of the specified manifest file. If no manifest file is specified, MAKE_RT uses the
manifest_rt.txt
file located in thebin/make_rt
subdirectory of the IDL distribution. - Entries in the manifest file that begin with the IDL comment character (the semicolon) are discarded.
- Entries for platforms that are not specifically selected via the Platform Keywords are discarded. (If no platforms are specified by keyword, a distribution is created for the platform on which the MAKE_RT routine is running.)
- Entries for optional features that are not specifically selected via the Feature Keywords are discarded.
Once the manifest_rt.txt
file has been trimmed according to these rules, the files are copied to Outdir.
Application Launchers
If you include the SAVEFILE keyword in a call to MAKE_RT, the procedure will generate a launch script for each platform specified. Launch scripts are small programs that invoke IDL in Runtime or Virtual Machine mode, loading the SAVE file you specify to run the application.
The launch scripts generated by MAKE_RT are based on generic scripts located in the IDL_DIR
/bin/make_rt
directory (where IDL_DIR
is the IDL installation directory).
Note: If you do not specify the SAVEFILE keyword, MAKE_RT generates a generic launch script that invokes IDL in runtime or virtual machine mode and opens a file selection dialog, allowing the end-user to select a .sav
file to restore and run.
Working with the manifest_rt.txt File
The default manifest_rt.txt
file contains entries for all of the files necessary to create a runtime IDL distribution for all supported platforms. In most cases, you can use the manifest_rt.txt
file without modification, and the MAKE_RT procedure will select the appropriate files to build the distribution you specify. If you need to modify the list of files copied to your runtime distribution, you can create a custom manifest file.
Version History
7.0 |
Introduced |
7.0.4 |
Added MACINT64 keyword |
7.1 |
Added OVERWRITE and SUNX86_64 keywords |
8.0 | Deprecated IDL_ASSISTANT, MACPPC32 keywords |
8.1 |
Added GRIB, HIRES_SHAPEFILES, and VIDEO keywords |
8.2.3 | Deprecated SUN32, MACINT32 and MACPPC32 keywords |
8.5.2 | Deprecated LIN32 keyword |
8.6 | Deprecated EMBEDDED keyword |
8.9 | Deprecated WIN32 keyword |
9.0 | Added ARM64 keyword |